/*User program on Nachos
  For project 2 part 3
  Header
  Author: Yuzhe Wu 2/24
*/
/*
Server: nachos -m 0 -server
Cashier/wrn: nachos -x ../test/wrnCashierExec -m 1
Xray: nachos -x ../test/xrayExec -m 3
Doctor: nachos -x ../test/doctorExec -m 4
Nurse: nachos -x ../test/nurseExec -m 5



Patient: nachos -x ../test/patientExec -m 5


*/
#ifndef DOCTOROFFICE_H
#define DOCTOROFFICE_H


#define true 1
#define false 0
#define BUSY 1
#define FREE 0


#define EXAMROOM 1
#define XRAYROOM 2
#define CASHIER 3
#define NOWHERE 0

#define GETFORM 1
#define GIVEFORM 2
#define CALLPATIENT 3
#define WRONGTASK 0

#define PATIENT 1
#define PARENT 2
#define WRONGPERSON 0

#define NOTHING 1
#define BREAK 2
#define COMPOUND 3
#define WRONGRESULT 0

#define MAXNURSENUM 5
#define MAXDOCNUM 3
#define MAXXRAYNUM 2
#define MAXEXAMROOMNUM 5
#define MAXPATIENTNUM 50

/*money = basic($10) + shotmoney($50) + imageNum * moneyPerImage($30)*/
#define BASIC 10
#define SHOTMONEY 50
#define IMAGEMONEY 30

#define INT_MAX 2147483647
#define EXAMSHEETITEM 10

#define EMPTY 0
#define USED 1021706

typedef int myLock;  
typedef int myCV;     
typedef int bool;
typedef int myMV;


struct examSheet {
	int patientID;
	char* name;
	int age;
		
	char* symptom;
	bool needShot;
	bool needXray;
	int imageNum;
	int xrayResult;
	int nextDestination;
	int status;
};
#endif